#pragma once
#include "CTransformer.h"
#include "CXcpList.h"
#include "ITransformer.h"

class CAggregateTransformer :
	public CTransformer
{

public: 
	CAggregateTransformer();
protected: 
	virtual ~CAggregateTransformer();
public: 
	virtual HRESULT Transform(const struct XPOINTF * srcPoints, struct XPOINTF * destPoints, XUINT32 count);
	virtual HRESULT ReverseTransform(const struct XPOINTF * srcPoints, struct XPOINTF * destPoints, XUINT32 count);
	virtual enum ITransformer::TransformerType GetType();
	virtual XBOOL IsPure2D();
	virtual CMILMatrix Get2DMatrix();
	HRESULT Add(struct ITransformer * pChild);
private: 
	CXcpList<ITransformer> m_oList;
};